The field of invention is related to the elements required for the development of processor software. The elements are computer programming techniques and the computation of Boolean logic functions using a new arithmetic formula.
It was proven by Church and Turing that there is no general solution for a decision problem. For n number of inputs does any single mathematical formula capable of affirming or not affirming an output exist? Would it be possible to express the decidable fragments of full first order logic as a single mathematical formula? Numerous published research efforts indicate that decision trees can be replaced by succinct arithmetic formulas. In our work, we apply a new arithmetic formula to reduce logic to arithmetic, which is essential to elucidate the elements required for the development of processor software. As a logical algorithm can be reduced to an arithmetic algorithm without using logical trees, logical programming can be replaced by simple arithmetic programming. In other words, it is possible to convert a logical operation to an arithmetic operation. A program containing millions of if-else logical tests can therefore be replaced by a single arithmetic formula. Thus, an ordinary processor could be used to run programs that have been designed elegantly and efficiently.
Microprocessors contain both combinational and sequential logic circuits. Physical logic gates contain elementary logic gates, which can be used to design logic circuits to perform specific Boolean operations. A computer program functions by using logic circuits, which implement Boolean logic. Furthermore, the functionality of software depends on the capability of the processor, which in turn depends on the number of logic gates it contains and on the extent to which the design of the logic circuits enables them to perform specified Boolean operations. It is known that Boolean logic is decidable; hence, for a given number of inputs the output would be either True or False. The question is whether it would be possible to develop software capable of performing the functions of logic circuits or processors. Our work confirms that it is possible to develop processor software with this capability.